Skip to main content

Installation

Installation

Run the one-line installer with your configuration file:

Install Couchbase FHIR CE
curl -sSL https://raw.githubusercontent.com/couchbaselabs/couchbase-fhir-ce/master/install.sh | bash -s -- ./config.yaml
Installation Process

The installer will:

  1. Download the required configuration files
  2. Verify file integrity with checksums
  3. Pull the latest Docker images
  4. Start all services (FHIR server, web interface, load balancer)
  5. Display the access URL
Install Output
curl -sSL https://raw.githubusercontent.com/couchbaselabs/couchbase-fhir-ce/master/install.sh | bash -s -- ./config.yaml

🚀 Installing/Upgrading Couchbase FHIR CE...
🔧 Using: docker-compose
📁 Working in directory: /Users/krishna.doddi/couchbase-fhir-ce
📥 Downloading installation files...
🔐 Verifying file integrity...
✅ File integrity verified
📋 Using config file: ./config.yaml
🛑 Stopping existing containers...
📦 Pulling latest images...

[+] Pulling 28/28
✔ fhir-server Pulled ....
✔ fhir-admin Pulled ....
✔ haproxy Pulled ....

🚀 Starting Couchbase FHIR CE...

[+] Running 4/4
✔ Network couchbase-fhir-ce_default Created
✔ Container couchbase-fhir-ce-fhir-server-1 Started
✔ Container couchbase-fhir-ce-fhir-admin-1 Started
✔ Container couchbase-fhir-ce-haproxy-1 Started

✅ Couchbase FHIR CE is now running!
🌐 Access the FHIR server at: http://localhost
Note: If running on a remote server, use your server's external hostname or IP address

📋 Useful commands:
cd couchbase-fhir-ce
View logs: docker-compose logs -f
Stop: docker-compose down
Restart: docker-compose restart
Status: docker-compose ps

What Gets Installed

Installation Contents

The installer creates a couchbase-fhir-ce directory containing:

3 Docker containers:

  • fhir-server - FHIR API backend (Spring Boot)
  • fhir-admin - Web-based administration interface
  • haproxy - Load balancer and reverse proxy

Configuration files:

  • docker-compose.yml - Container orchestration
  • haproxy.cfg - Load balancer configuration
  • config.yaml - Your Couchbase connection settings

Accessing the Server

After installation, the FHIR server will be available at:

http://your-ec2-hostname.compute-1.amazonaws.com
Auto-Detection

The installer automatically detects your environment and displays the correct URL.

Managing the Installation

Navigate to the installation directory to manage services:

Navigate to installation directory
cd couchbase-fhir-ce
View all service logs
docker-compose logs -f
View specific service logs
docker-compose logs -f fhir-server
docker-compose logs -f fhir-admin

Ports and Networking

Port Configuration

The installation exposes only port 80 externally through HAProxy, which routes traffic to the appropriate services:

  • / - Web administration interface
  • /fhir/* and /api/* - FHIR API endpoints

Internal container ports (not exposed):

  • fhir-server: 8080
  • fhir-admin: 80
  • haproxy: 80 (mapped to host port 80)

Security Considerations

Security Features
  • The installer verifies file integrity using SHA256 checksums
  • Only downloads configuration files and official container images
  • No executable code is downloaded from external sources
  • All containers run with non-root users where possible

Supported Platforms

The installer supports:

  • AWS EC2 (automatic hostname detection)
  • Google Cloud Platform (automatic IP detection)
  • Microsoft Azure (automatic IP detection)
  • Local development (localhost)
  • Any Linux/macOS system with Docker

Troubleshooting

Installation fails with permission denied:

Fix Docker permissions
# Add user to docker group and restart session
sudo usermod -a -G docker $USER
# Log out and back in, then try again

System Requirements

Minimum Requirements
  • Memory: 2GB RAM minimum (4GB recommended)
  • Storage: 500MB for Docker images
  • Network: Internet access for image downloads
  • Platform: Linux (x64/ARM64), macOS (Intel/Apple Silicon)